package com.controladores.controlvehicular;





import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Typeface;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;

public class InformacionVehiculo extends Activity {
	protected TextView fuenteInfVehiculo;
	//private RegistroControlVehiculo registroCV;
	 
	private  String placa; 
	private  String color;
	private  String horaControl;
	private  String marca;
	private  String fechacontrol;
	
	Button aceptar;
	TimePicker TPhoraControl;
	TextView cajaPlaca, cajaColor, cajaMarca;
	DatePicker DPfecha;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_informacion_vehiculo);
		fuenteInfVehiculo = (TextView) findViewById(R.id.tInfVehiculo);
		Typeface tipofuenteInfVehiculo = Typeface.createFromAsset(getAssets(),
				"inkedgod.ttf");
		fuenteInfVehiculo.setTypeface(tipofuenteInfVehiculo);

		/*
		 * placa = (EditText) findViewById(R.id.id_placa); color = (EditText)
		 * findViewById(R.id.id_color); fecha = (EditText)
		 * findViewById(R.id.id_hora_timePicker); marca = (EditText)
		 * findViewById(R.id.id_marca); aceptar =
		 * (Button)findViewById(R.id.btnAceptarInfVe);
		 * 
		 * aceptar.setOnClickListener(this);
		 */

		cajaPlaca = (TextView) findViewById(R.id.id_placa);
		cajaColor = (TextView) findViewById(R.id.id_color);
		cajaMarca = (TextView) findViewById(R.id.id_marca);
		TPhoraControl = (TimePicker) findViewById(R.id.id_hora_control_timePicker);
		TPhoraControl.setIs24HourView(true);
		TPhoraControl.setEnabled(false);
		DPfecha = (DatePicker) findViewById(R.id.datePicker1);
		DPfecha.setEnabled(false);
		

		//Creamos la Base de datos
		//crearBBDD();

		// Obtenemos la instancia de los botones y preparamos los eventos que
		// lanzaran al pulsarse
		Button botonGuardar = (Button) findViewById(R.id.btnSiguinte);
		botonGuardar.setOnClickListener(new View.OnClickListener() {
			public void onClick(View view) {
				comprobarCamposInformacionVehiculo();
				//menutiposRegistros();
			}
		});

		Button botonCancelar = (Button) findViewById(R.id.btnCancelarRecarga);
		botonCancelar.setOnClickListener(new View.OnClickListener() {
			public void onClick(View view) {
				cancelar();
			}
		});
	}
	//////////////////////////////////////////////////////////////////////////
	
	//GestorBaseDatos miBBDDHelper;

	//public void crearBBDD() {
		//miBBDDHelper = new GestorBaseDatos(this);
		//try {
			//miBBDDHelper.crearDataBase();
		//} catch (IOException ioe) {
			//throw new Error("Unable to create database");
		//}
	//}

	private void cancelar() {
		// Cerramos la vista actual, por lo que Android mostrara la anterior,
		// sin hacer nada mas.
		this.finish();
	}
	private void guardar() {
		if (comprobarGuardarValido()) {
			// El formulario es valido, por lo tanto podemos guardar

			boolean bienHecho = false;

			try {

				placa = cajaPlaca.getText().toString();
				color = cajaColor.getText().toString();
				marca = cajaMarca.getText().toString();

				Integer tphora = TPhoraControl.getCurrentHour();
				Integer tpminutos = TPhoraControl.getCurrentMinute();
				horaControl = tphora + ":" + tpminutos;

				Integer DPdia = DPfecha.getDayOfMonth();
				Integer DPmes = DPfecha.getMonth();
				Integer uno = 1;
				Integer DPano = DPfecha.getYear();
				fechacontrol = DPdia + "-" + (DPmes + uno) + "-" + DPano;

				
				// Abrimos una conexion
				//miBBDDHelper.abrirBaseDatos();
				// Consultamos los datos
				//bienHecho = miBBDDHelper.InsertVehiculos(placa, color, marca,
					//	horaControl, fechacontrol);
				//Toast.makeText(getBaseContext(),
					//	"Los datos se han guardado satisfactoriamente",
						//Toast.LENGTH_LONG).show();
				// Cerramos la conexion
				//miBBDDHelper.close();
				//menutiposRegistros();

			} catch (Exception ex) {
				// Algo ha ido mal, capturamos la excepcion
				bienHecho = false;
			}

			if (!bienHecho);
				//mostrarMensaje("Algo ha ido mal, no se guarda.");
			//else
				//finish(); // cerramos esta actividad

		} else {
			// El formulario no es valido, no podemos guardar, mostramos un
			// mensaje al usuario
			mostrarMensaje("Rellena todos los campos antes de guardar.");
		}
	}
	private void menutiposRegistros() {
		AlertDialog selecRegistro = new AlertDialog.Builder(
				InformacionVehiculo.this).create();
		selecRegistro.setTitle("Opciones");
		selecRegistro.setMessage("Selecione el tipo de registro: ");
		selecRegistro.setButton("Tarjeta",
				new DialogInterface.OnClickListener() {

					@Override
					public void onClick(DialogInterface arg0, int arg1) {
						// TODO Auto-generated method stub
						Intent aRegistroTarjeta = new Intent(InformacionVehiculo.this, RegistroTarjeta.class);
						aRegistroTarjeta.putExtra("datoplaca",placa);
						aRegistroTarjeta.putExtra("datocolor",color);
						aRegistroTarjeta.putExtra("datomarca",marca);
						aRegistroTarjeta.putExtra("datohoraControl",horaControl);
						aRegistroTarjeta.putExtra("datofechacontrol",fechacontrol);
						startActivity(aRegistroTarjeta);
						finish();
					}

				});
		selecRegistro.setButton3("Recarga",
				new DialogInterface.OnClickListener() {

					@Override
					public void onClick(DialogInterface arg0, int arg1) {
						// TODO Auto-generated method stub
						Intent aRegistroRecarga = new Intent( InformacionVehiculo.this, Activity_registro_recargas.class);
						aRegistroRecarga.putExtra("datoplaca",placa);
						aRegistroRecarga.putExtra("datocolor",color);
						aRegistroRecarga.putExtra("datomarca",marca);
						aRegistroRecarga.putExtra("datohoraControl",horaControl);
						aRegistroRecarga.putExtra("datofechacontrol",fechacontrol);
						startActivity(aRegistroRecarga);
						finish();
					}
				});
		selecRegistro.show();
	}

	private void comprobarCamposInformacionVehiculo(){
		if (comprobarGuardarValido()) {
			menutiposRegistros();
			guardar();
		}else {
			// El formulario no es valido, no podemos guardar, mostramos un
			// mensaje al usuario
			mostrarMensaje("Rellena todos los campos antes de guardar.");
		}
	}
	

	/**
	 * Muestra un mensaje al usuario
	 * 
	 * @param mensaje
	 */
	private void mostrarMensaje(String mensaje) {
		Toast.makeText(this, mensaje, 5000).show();
	}

	private boolean comprobarGuardarValido() {
		Boolean guardarEsValido = false; // empezamos suponiendo que es falso

		// Obtenemos la instancia de la caja de texto
		TextView cajaPlaca = (TextView) findViewById(R.id.id_placa);
		TextView cajaColor = (TextView) findViewById(R.id.id_color);

		// Comprobamos las cajas existen
		if (cajaPlaca != null && cajaColor != null) {
			// Comprobamos que el usuario ha escrito algo en ambas
			if (cajaPlaca.getText() != null
					&& !cajaPlaca.getText().toString().equals("")) {
				// Titulo tiene algo, comprobamos tambien Autor
				if (cajaColor.getText() != null
						&& !cajaColor.getText().toString().equals("")) {
					guardarEsValido = true; // ha pasado las comprobaciones
				}
			}

		}

		return guardarEsValido;
	}

}
